From: Rui Matos Date: Mon, 29 Aug 2011 01:37:41 +0000 (+0100) Subject: Use Meta.BackgroundActor instances instead of cloning global.background_actor X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~7865 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=82ce8fe3ff2316af559e3d62d1858f18c4a91007;p=gnome-shell.git Use Meta.BackgroundActor instances instead of cloning global.background_actor Instances of this class share a single CoglTexture behind the scenes which allows us to show the background with different rendering options without duplicating the texture data. https://bugzilla.gnome.org/show_bug.cgi?id=656433 --- diff --git a/js/ui/overview.js b/js/ui/overview.js index 0c5ea3241..4ecc378d8 100644 --- a/js/ui/overview.js +++ b/js/ui/overview.js @@ -115,9 +115,12 @@ Overview.prototype = { return; } - // The actual global.background_actor is inside global.window_group, - // which is hidden when displaying the overview, so we display a clone. - this._background = new Clutter.Clone({ source: global.background_actor }); + // The main BackgroundActor is inside global.window_group which is + // hidden when displaying the overview, so we create a new + // one. Instances of this class share a single CoglTexture behind the + // scenes which allows us to show the background with different + // rendering options without duplicating the texture data. + this._background = Meta.BackgroundActor.new_for_screen(global.screen); this._background.hide(); global.overlay_group.add_actor(this._background); diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js index 582842b89..7a239ef6c 100644 --- a/js/ui/workspaceThumbnail.js +++ b/js/ui/workspaceThumbnail.js @@ -167,7 +167,7 @@ WorkspaceThumbnail.prototype = { return true; })); - this._background = new Clutter.Clone({ source: global.background_actor }); + this._background = Meta.BackgroundActor.new_for_screen(global.screen); this._contents.add_actor(this._background); let monitor = Main.layoutManager.primaryMonitor;